<!DOCTYPE html>
<html lang="en-US">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>LINUX 初体验 | 小小错题本</title>
    <meta name="description" content="工作原因，需要学习并使用linux以及shell后台相关操作。借此，总结一下遇到的常见操作。一来是方便自己查询，而来也是对自己学习做个总结。

1.基础知识

PDLrVI.jpg

1.1 在 Linux 或 Unix 操作系统中，所有的文件和目录都被组织成以一个根节点开始的倒置的树状结构 ...">
    <meta name="generator" content="VuePress 1.3.0">
    
    
    <link rel="preload" href="/wrong_question_static_page/assets/css/0.styles.f30cb765.css" as="style"><link rel="preload" href="/wrong_question_static_page/assets/js/app.9022c753.js" as="script"><link rel="preload" href="/wrong_question_static_page/assets/js/4.8c1e4aa5.js" as="script"><link rel="preload" href="/wrong_question_static_page/assets/js/5.33f70f09.js" as="script"><link rel="preload" href="/wrong_question_static_page/assets/js/10.697d33d5.js" as="script"><link rel="prefetch" href="/wrong_question_static_page/assets/js/1.ec18c3a1.js"><link rel="prefetch" href="/wrong_question_static_page/assets/js/11.488795fa.js"><link rel="prefetch" href="/wrong_question_static_page/assets/js/12.12a9963e.js"><link rel="prefetch" href="/wrong_question_static_page/assets/js/13.9d026eb1.js"><link rel="prefetch" href="/wrong_question_static_page/assets/js/14.c44f0e4a.js"><link rel="prefetch" href="/wrong_question_static_page/assets/js/15.a258b8bb.js"><link rel="prefetch" href="/wrong_question_static_page/assets/js/16.92328039.js"><link rel="prefetch" href="/wrong_question_static_page/assets/js/17.c4f16e4e.js"><link rel="prefetch" href="/wrong_question_static_page/assets/js/18.4dfa396f.js"><link rel="prefetch" href="/wrong_question_static_page/assets/js/19.edba2346.js"><link rel="prefetch" href="/wrong_question_static_page/assets/js/20.082608a3.js"><link rel="prefetch" href="/wrong_question_static_page/assets/js/21.5ae0ad82.js"><link rel="prefetch" href="/wrong_question_static_page/assets/js/22.89457782.js"><link rel="prefetch" href="/wrong_question_static_page/assets/js/23.53bf9e28.js"><link rel="prefetch" href="/wrong_question_static_page/assets/js/24.ae06dfc6.js"><link rel="prefetch" href="/wrong_question_static_page/assets/js/25.1d7d04a4.js"><link rel="prefetch" href="/wrong_question_static_page/assets/js/6.af07a62f.js"><link rel="prefetch" href="/wrong_question_static_page/assets/js/7.2c342931.js"><link rel="prefetch" href="/wrong_question_static_page/assets/js/8.2545b8d2.js"><link rel="prefetch" href="/wrong_question_static_page/assets/js/9.0eaa1c27.js"><link rel="prefetch" href="/wrong_question_static_page/assets/js/vuejs-paginate.c4011005.js">
    <link rel="stylesheet" href="/wrong_question_static_page/assets/css/0.styles.f30cb765.css">
  </head>
  <body>
    <div id="app" data-server-rendered="true"><div id="vuepress-theme-blog__global-layout"><section id="header-wrapper"><header id="header"><div class="header-wrapper"><div class="title"><a href="/wrong_question_static_page/" class="nav-link home-link">小小错题本 </a></div> <div class="header-right-wrap"><ul class="nav"><li class="nav-item"><a href="/wrong_question_static_page/tag/" class="nav-link">分类</a></li></ul> <div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <!----></div></div></header></section> <div id="mobile-header"><div class="mobile-header-bar"><div class="mobile-header-title"><a href="/wrong_question_static_page/" class="nav-link mobile-home-link">小小错题本 </a> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-menu"><line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line></svg></div> <div class="mobile-menu-wrapper"><hr class="menu-divider"> <ul class="mobile-nav"><li class="mobile-nav-item"><a href="/wrong_question_static_page/tag/" class="nav-link">分类</a></li> <li class="mobile-nav-item"><!----></li></ul></div></div></div> <div class="content-wrapper"><div id="vuepress-theme-blog__post-layout"><article itemscope="itemscope" itemtype="https://schema.org/BlogPosting" class="vuepress-blog-theme-content"><header><h1 itemprop="name headline" class="post-title">
        LINUX 初体验
      </h1> <div class="post-meta"><!----> <div class="post-meta-date"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-clock"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg> <time pubdate itemprop="datePublished" datetime="2018-08-07T00:00:38.000Z">
      Tue Aug 07 2018
    </time></div> <ul itemprop="keywords" class="post-meta-tags"><li class="post-tag" data-v-2ac33c20><a href="/wrong_question_static_page/tag/linux" data-v-2ac33c20> linux </a></li><li class="post-tag" data-v-2ac33c20><a href="/wrong_question_static_page/tag/后台" data-v-2ac33c20> 后台 </a></li><li class="post-tag" data-v-2ac33c20><a href="/wrong_question_static_page/tag/服务器" data-v-2ac33c20> 服务器 </a></li></ul></div></header> <div itemprop="articleBody" class="content__default"><blockquote><p>工作原因，需要学习并使用linux以及shell后台相关操作。借此，总结一下遇到的常见操作。一来是方便自己查询，而来也是对自己学习做个总结。</p></blockquote> <h2 id="_1-基础知识"><a href="#_1-基础知识" class="header-anchor">#</a> 1.基础知识</h2> <p><img src="https://s1.ax1x.com/2018/08/05/PDLrVI.jpg" alt="PDLrVI.jpg"></p> <ul><li><p>1.1 在 Linux 或 Unix 操作系统中，所有的文件和目录都被组织成以一个根节点开始的倒置的树状结构。</p></li> <li><p>1.2 文件系统的最顶层是由根目录开始的，系统使用 / 来表示根目录。在根目录之下的既可以是目录，也可以是文件，而每一个目录中又可以包含子目录文件。如此反复就可以构成一个庞大的文件系统。</p></li> <li><p>1.3 在Linux文件系统中有两个特殊的目录，一个用户所在的工作目录，也叫当前目录，可以使用一个点 . 来表示；另一个是当前目录的上一级目录，也叫父目录，可以使用两个点 .. 来表示。</p></li> <li><p>. ：代表当前的目录，也可以使用 ./ 来表示；</p></li> <li><p>.. ：代表上一层目录，也可以 ../ 来代表。</p></li> <li><p>如果一个目录或文件名以一个点 . 开始，表示这个目录或文件是一个隐藏目录或文件(如：.bashrc)。即以默认方式查找时，不显示该目录或文件。</p></li></ul> <h2 id="_2-文件相关操作"><a href="#_2-文件相关操作" class="header-anchor">#</a> 2.文件相关操作</h2> <h3 id="_2-1-删除文件"><a href="#_2-1-删除文件" class="header-anchor">#</a> 2.1 删除文件</h3> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token function">rm</span> file.txt      <span class="token comment"># 删除文件，后面可以跟多个文件，以空格隔开</span>
<span class="token function">rm</span> -rf 文件夹    <span class="token comment"># 递归删除整个目录，并且不询问用户[强制删除]</span>
</code></pre></div><h3 id="_2-2-新建文件"><a href="#_2-2-新建文件" class="header-anchor">#</a> 2.2 新建文件</h3> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token function">vi</span> test.txt     <span class="token comment">#若果当前目录木有test.txt文件，则会自动新建</span>
<span class="token function">touch</span> test.txt   <span class="token comment"># 新建test.txt文件</span>
</code></pre></div><h3 id="_2-3-更改文件属组"><a href="#_2-3-更改文件属组" class="header-anchor">#</a> 2.3 更改文件属组</h3> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token function">chown</span> users:jessie file1.txt  <span class="token comment">#修改文件file1.txt 为jessie组的users用户所有</span>
</code></pre></div><h3 id="_2-3-更改文件属性-读-写-执行"><a href="#_2-3-更改文件属性-读-写-执行" class="header-anchor">#</a> 2.3 更改文件属性[读\写\执行]</h3> <p>Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。利用 chmod 可以藉以控制文件如何被他人所调用。</p> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token function">chmod</span> <span class="token punctuation">[</span>-cfvR<span class="token punctuation">]</span> <span class="token punctuation">[</span>--help<span class="token punctuation">]</span> <span class="token punctuation">[</span>--version<span class="token punctuation">]</span> mode file<span class="token punctuation">..</span>.
权限设定参数：<span class="token punctuation">[</span>ugoa<span class="token punctuation">..</span>.<span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token punctuation">[</span>+-<span class="token operator">=</span><span class="token punctuation">]</span><span class="token punctuation">[</span>rwxX<span class="token punctuation">]</span><span class="token punctuation">..</span>.<span class="token punctuation">]</span><span class="token punctuation">[</span>,<span class="token punctuation">..</span>.<span class="token punctuation">]</span>

u 表示该文件的拥有者，g 表示与该文件的拥有者属于同一个群体<span class="token punctuation">(</span>group<span class="token punctuation">)</span>者，o 表示其他以外的人，a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、<span class="token operator">=</span> 表示唯一设定权限。
r 表示可读取，w 表示可写入，x 表示可执行，X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

<span class="token function">chmod</span> a+r file1.txt   <span class="token comment"># 将文件 file1.txt 设为所有人皆可读取</span>
<span class="token function">chmod</span> u+x ex1.py      <span class="token comment"># 将 ex1.py 设定为只有该文件拥有者可以执行</span>
<span class="token function">chmod</span> -R a+r *        <span class="token comment"># 将目前目录下的所有文件与子目录皆设为任何人可读取，[其中R代表递归操作]</span>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
<span class="token function">chmod</span> <span class="token number">777</span> <span class="token function">file</span>

其中a,b,c各为一个数字，分别表示User、Group、及Other的权限。

<span class="token assign-left variable">r</span><span class="token operator">=</span><span class="token number">4</span>，w<span class="token operator">=</span><span class="token number">2</span>，x<span class="token operator">=</span><span class="token number">1</span>
若要rwx属性则4+2+1<span class="token operator">=</span><span class="token number">7</span>；
若要rw-属性则4+2<span class="token operator">=</span><span class="token number">6</span>；
若要r-x属性则4+1<span class="token operator">=</span><span class="token number">5</span>。
</code></pre></div><h3 id="_2-4-解压、压缩文件"><a href="#_2-4-解压、压缩文件" class="header-anchor">#</a> 2.4 解压、压缩文件</h3> <div class="language- extra-class"><pre class="language-text"><code>zip 目录   # 将传入目录里的文件压缩为zip文件,并放置在上一级目录
unzip file.zip  # 将file.zip解压并放在当前目录
unzip file.zip -d cn  #将file.zip解压并存放在cn目录，没有此目录会自动新建
</code></pre></div><h3 id="_2-5-服务器间拷贝文件"><a href="#_2-5-服务器间拷贝文件" class="header-anchor">#</a> 2.5 服务器间拷贝文件</h3> <blockquote><p>Linux scp命令用于Linux之间复制文件和目录。</p></blockquote> <blockquote><p>scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。</p></blockquote> <blockquote><p>此命令根据执行机是不是目标机器，可对应实现“推文件”和“拉取文件”操作。</p></blockquote> <p><strong>语法</strong></p> <div class="language- extra-class"><pre class="language-text"><code>scp [可选参数] file_source file_target
</code></pre></div><p><strong>重要参数</strong></p> <div class="language- extra-class"><pre class="language-text"><code>-p：保留原文件的修改时间，访问时间和访问权限。
-q： 不显示传输进度条。
-r： 递归复制整个目录。
</code></pre></div><p><strong>实例：</strong></p> <div class="language- extra-class"><pre class="language-text"><code>scp /home/space/music/1.mp3 www.xxx.com:/home/root/others/music/001.mp3

</code></pre></div><p><strong>命令格式</strong></p> <div class="language- extra-class"><pre class="language-text"><code>scp -r local_folder remote_username@remote_ip:remote_folder
或者
scp -r local_folder remote_ip:remote_folder
</code></pre></div><p><strong>实例：</strong></p> <div class="language- extra-class"><pre class="language-text"><code>scp -r /home/space/music/ root@www.xxx.com:/home/root/others/
</code></pre></div><h2 id="_3-其他"><a href="#_3-其他" class="header-anchor">#</a> 3.其他</h2> <h3 id="_3-1-定时任务"><a href="#_3-1-定时任务" class="header-anchor">#</a> 3.1 定时任务</h3> <p>Linux crontab是用来定期执行程序的命令。</p> <p>当安装完成操作系统之后，默认便会启动此任务调度命令。</p> <p>crond命令每分锺会定期检查是否有要执行的工作，如果有要执行的工作便会自动执行该工作。</p> <p>而linux任务调度的工作主要分为以下两类：</p> <ol><li>系统执行的工作：系统周期性所要执行的工作，如备份系统数据、清理缓存</li> <li>个人执行的工作：某个用户定期要做的工作，例如每隔10分钟检查邮件服务器是否有新信，这些工作可由每个用户自行设置</li></ol> <blockquote><p>语法</p></blockquote> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token function">crontab</span> <span class="token punctuation">[</span> -u user <span class="token punctuation">]</span> <span class="token punctuation">{</span> -l <span class="token operator">|</span> -r <span class="token operator">|</span> -e <span class="token punctuation">}</span>
</code></pre></div><p>说明：</p> <p>crontab 是用来让使用者在固定时间或固定间隔执行程序之用，换句话说，也就是类似使用者的时程表。</p> <p>-u user 是指设定指定 user 的时程表，这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话，就是表示设定自己的时程表。</p> <p>参数说明：</p> <p>-e : 执行文字编辑器来设定时程表，内定的文字编辑器是 VI，如果你想用别的文字编辑器，则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)</p> <p>-r : 删除目前的时程表</p> <p>-l : 列出目前的时程表</p> <p>时程表的格式如下：</p> <div class="language-bash extra-class"><pre class="language-bash"><code>f1 f2 f3 f4 f5 program
</code></pre></div><ul><li>其中 f1 是表示分钟，f2 表示小时，f3 表示一个月份中的第几日，f4 表示月份，f5 表示一个星期中的第几天。program 表示要执行的程序。</li> <li>当 f1 为 * 时表示每分钟都要执行 program，f2 为 * 时表示每小时都要执行程序，其馀类推</li> <li>当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行，f2 为 a-b 时表示从第 a 到第 b 小时都要执行，其馀类推</li> <li>当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次，f2 为 */n 表示每 n 小时个时间间隔执行一次，其馀类推</li> <li>当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行，f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行，其馀类推</li></ul> <p>使用者也可以将所有的设定先存放在文件中，用 crontab file 的方式来设定时程表。</p> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token number">0</span> */2 * * * /sbin/service httpd restart  <span class="token comment">#意思是每两个小时重启一次apache</span>

<span class="token number">50</span> <span class="token number">7</span> * * * /sbin/service sshd start  <span class="token comment">#意思是每天7：50开启ssh服务</span>

<span class="token number">50</span> <span class="token number">22</span> * * * /sbin/service sshd stop  <span class="token comment">#意思是每天22：50关闭ssh服务</span>

<span class="token number">0</span> <span class="token number">0</span> <span class="token number">1,15</span> * * <span class="token function">fsck</span> /home  <span class="token comment">#每月1号和15号检查/home 磁盘</span>

<span class="token number">1</span> * * * * /home/bruce/backup  <span class="token comment">#每小时的第一分执行 /home/bruce/backup这个文件</span>

00 03 * * <span class="token number">1</span>-5 <span class="token function">find</span> /home <span class="token string">&quot;*.xxx&quot;</span> -mtime +4 -exec <span class="token function">rm</span> <span class="token punctuation">{</span><span class="token punctuation">}</span> <span class="token punctuation">\</span><span class="token punctuation">;</span>  <span class="token comment">#每周一至周五3点钟，在目录/home中，查找文件名为*.xxx的文件，并删除4天前的文件。</span>

<span class="token number">30</span> <span class="token number">6</span> */10 * * <span class="token function">ls</span>  <span class="token comment">#意思是每月的1、11、21、31日是的6：30执行一次ls命令</span>
</code></pre></div><p>【未完待续】</p></div> <footer><!----> <hr> <!----></footer></article> <div class="sticker vuepress-toc"><div class="vuepress-toc-item vuepress-toc-h2 active"><a href="#_1-基础知识" title="1.基础知识">1.基础知识</a></div><div class="vuepress-toc-item vuepress-toc-h2"><a href="#_2-文件相关操作" title="2.文件相关操作">2.文件相关操作</a></div><div class="vuepress-toc-item vuepress-toc-h3"><a href="#_2-1-删除文件" title="2.1 删除文件">2.1 删除文件</a></div><div class="vuepress-toc-item vuepress-toc-h3"><a href="#_2-2-新建文件" title="2.2 新建文件">2.2 新建文件</a></div><div class="vuepress-toc-item vuepress-toc-h3"><a href="#_2-3-更改文件属组" title="2.3 更改文件属组">2.3 更改文件属组</a></div><div class="vuepress-toc-item vuepress-toc-h3"><a href="#_2-3-更改文件属性-读-写-执行" title="2.3 更改文件属性[读\写\执行]">2.3 更改文件属性[读\写\执行]</a></div><div class="vuepress-toc-item vuepress-toc-h3"><a href="#_2-4-解压、压缩文件" title="2.4 解压、压缩文件">2.4 解压、压缩文件</a></div><div class="vuepress-toc-item vuepress-toc-h3"><a href="#_2-5-服务器间拷贝文件" title="2.5 服务器间拷贝文件">2.5 服务器间拷贝文件</a></div><div class="vuepress-toc-item vuepress-toc-h2"><a href="#_3-其他" title="3.其他">3.其他</a></div><div class="vuepress-toc-item vuepress-toc-h3"><a href="#_3-1-定时任务" title="3.1 定时任务">3.1 定时任务</a></div></div></div></div> <footer class="footer" data-v-06e1b74b><div class="footer-left-wrap" data-v-06e1b74b><ul class="contact" data-v-06e1b74b></ul></div> <div class="footer-right-wrap" data-v-06e1b74b><ul class="copyright" data-v-06e1b74b></ul></div></footer></div><div class="global-ui"><!----></div></div>
    <script src="/wrong_question_static_page/assets/js/app.9022c753.js" defer></script><script src="/wrong_question_static_page/assets/js/4.8c1e4aa5.js" defer></script><script src="/wrong_question_static_page/assets/js/5.33f70f09.js" defer></script><script src="/wrong_question_static_page/assets/js/10.697d33d5.js" defer></script>
  </body>
</html>
